防止网页被Frame

1、什么是网页被Frame
网页被Frame是指我的网页被以iframe的形式拿来嵌入到别人网页里,帮助别人提升流量。
做法是在自己网页中放入

<iframe src="http://www.lvkunjie.com"></iframe>

这样别人就嵌入了我的网页。
2、如何防止网页被Frame
方法一、在网页head标签内加入以下代码:

<script>
if (top.location !=  self.location) {
	top.location = self.location;
}
</script>

如果网页不是最顶层,那么网页跳转最顶层。
方法二、在网页head标签内加入以下代码:

<script>
if (window != top) {
	top.location.href = window.location.href;
}
</script>

有网友提供了另一种方法,也是在网页head标签内加入代码,代码如下:

<script>
(function () {
	if (window != window.top) {
		window.top.location.replace(window.location);
	}
})()
</script>

但是此方法可破解,破解就是在自己的header标签内容加入如下代码

<script>
var location = document.location;
</script>

原理就是全局变量指向本页面。
方法三、使用HTTP响应头信息中的X-Frame-Options属性
使用 X-Frame-Options 有三个可选的值:
DENY:浏览器拒绝当前页面加载任何Frame页面
SAMEORIGIN:frame页面的地址只能为同源域名下的页面
ALLOW-FROM:origin为允许frame加载的页面地址
具体的设置要在服务端进行,摘抄设置代码如下:
Apache配置:

Header always append X-Frame-Options SAMEORIGIN

nginx配置:

add_header X-Frame-Options SAMEORIGIN;

IIS配置:

<system.webServer>
 ...
 
 <httpProtocol>
 <customHeaders>
 <add name="X-Frame-Options" value="SAMEORIGIN" />
 </customHeaders>
 </httpProtocol>
 
 ...
</system.webServer>

参考文章:使用HTTP 响应头信息中的 X-Frame-Options 属性防止网页被Frame

此条目发表在浏览器分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注